home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / libs / tsipp / tsipp.lha / tsipp3.0a / tests / rle.test < prev    next >
Encoding:
Text File  |  1992-11-02  |  7.7 KB  |  281 lines

  1. #==============================================================================
  2. #                                  rle.test
  3. #------------------------------------------------------------------------------
  4. # Test of the Tcl SIPP RLE rendering commands.
  5. #------------------------------------------------------------------------------
  6. # Copyright 1992 Mark Diekhans
  7. # Permission to use, copy, modify, and distribute this software and its
  8. # documentation for any purpose and without fee is hereby granted, provided
  9. # that the above copyright notice appear in all copies.  Mark Diekhans makes
  10. # no representations about the suitability of this software for any purpose.
  11. # It is provided "as is" without express or implied warranty.
  12. #------------------------------------------------------------------------------
  13. # $Id: rle.test,v 2.0 1992/11/02 03:56:02 markd Rel $
  14. #==============================================================================
  15.  
  16. if {![SippInfo rle]} {
  17.     echo "RLE commands not available.  Tests skipped"
  18.     return
  19. }
  20.  
  21. if {[info procs test] == ""} {source testprocs.tcl}
  22.  
  23. #
  24. # Test SippRLEOpen command.
  25. #
  26.  
  27. test {rle-1.1} {
  28.     SippRLEOpen
  29. } 1 {wrong # args: SippRLEOpen filename mode}
  30.  
  31. test {rle-1.2} {
  32.     SippRLEOpen abcd.rle foo
  33. } 1 {invalid mode "foo" expected one of: "w" or "a"}
  34.  
  35. test {rle-1.3} {
  36.     SippRLEOpen abcd.rle "w" baz
  37. } 1 {wrong # args: SippRLEOpen filename mode}
  38.  
  39. test {rle-1.4} {
  40.     set rleHdl [SippRLEOpen noimage.rle "w"]
  41.     crange $rleHdl 0 2
  42. } 0 {rle}
  43.  
  44. #
  45. # Test SippRLEClose command.
  46. #
  47. test {rle-2.1} {
  48.     SippRLEClose
  49. } 1 {wrong # args: SippRLEClose rlehandle}
  50.  
  51. test {rle-2.2} {
  52.     SippRLEClose foo baz
  53. } 1 {wrong # args: SippRLEClose rlehandle}
  54.  
  55. test {rle-2.3} {
  56.     SippRLEClose foo
  57. } 1 {invalid rlefile handle: foo}
  58.  
  59. #
  60. # Test SippRlePutCom command.
  61. #
  62.  
  63. test {rle-3.1} {
  64.     SippRLEPutCom
  65. } 1 {wrong # args: SippRLEPutCom rlehandle name [value]}
  66.  
  67. test {rle-3.2} {
  68.     SippRLEPutCom foo value
  69. } 1 {invalid rlefile handle: foo}
  70.  
  71. test {rle-3.3} {
  72.     SippRLEPutCom $rleHdl
  73. } 1 {wrong # args: SippRLEPutCom rlehandle name [value]}
  74.  
  75. test {rle-3.4} {
  76.     SippRLEPutCom $rleHdl a b c
  77. } 1 {wrong # args: SippRLEPutCom rlehandle name [value]}
  78.  
  79. #
  80. # Test SippRLEGetCom command.
  81. #
  82.  
  83. test {rle-4.1} {
  84.     SippRLEGetCom
  85. } 1 {wrong # args: SippRLEGetCom rlehandle name [retvar | {}]}
  86.  
  87. test {rle-4.2} {
  88.     SippRLEGetCom foo value
  89. } 1 {invalid rlefile handle: foo}
  90.  
  91. test {rle-4.3} {
  92.     SippRLEGetCom $rleHdl
  93. } 1 {wrong # args: SippRLEGetCom rlehandle name [retvar | {}]}
  94.  
  95. test {rle-4.4} {
  96.     SippRLEGetCom $rleHdl a b c
  97. } 1 {wrong # args: SippRLEGetCom rlehandle name [retvar | {}]}
  98.  
  99. test {rle-4.5} {
  100.     SippRLEPutCom $rleHdl "test-rle-3.1"
  101.     SippRLEGetCom $rleHdl "test-rle-3.1"
  102. } 0 {}
  103.  
  104. test {rle-4.6} {
  105.     SippRLEPutCom $rleHdl "test-rle-3.2" "value-rle-3.2"
  106.     SippRLEGetCom $rleHdl "test-rle-3.2"
  107. } 0 {value-rle-3.2}
  108.  
  109. test {rle-4.7} {
  110.     set retvar {}
  111.     SippRLEPutCom $rleHdl "test-rle-3.3"
  112.     list [SippRLEGetCom $rleHdl "test-rle-3.3" retvar] [set retvar]
  113. } 0 {1 {}}
  114.  
  115. test {rle-4.8} {
  116.     set retvar {}
  117.     SippRLEPutCom $rleHdl "test-rle-3.4" "value-rle-3.4"
  118.     list [SippRLEGetCom $rleHdl "test-rle-3.4" retvar] [set retvar]
  119. } 0 {1 value-rle-3.4}
  120.  
  121. test {rle-4.9} {
  122.     SippRLEPutCom $rleHdl "test-rle-3.5" "value-rle-3.5"
  123.     SippRLEGetCom $rleHdl "test-rle-3.4" {}
  124. } 0 {1}
  125.  
  126. #
  127. # Test SippRLEDelCom command.
  128. #
  129.  
  130. test {rle-5.1} {
  131.     SippRLEDelCom
  132. } 1 {wrong # args: SippRLEDelCom rlehandle name}
  133.  
  134. test {rle-5.2} {
  135.     SippRLEDelCom foo value
  136. } 1 {invalid rlefile handle: foo}
  137.  
  138. test {rle-5.3} {
  139.     SippRLEDelCom $rleHdl
  140. } 1 {wrong # args: SippRLEDelCom rlehandle name}
  141.  
  142. test {rle-5.4} {
  143.     SippRLEDelCom $rleHdl a b c
  144. } 1 {wrong # args: SippRLEDelCom rlehandle name}
  145.  
  146. test {rle-5.5} {
  147.     set retvar {}
  148.     SippRLEPutCom $rleHdl "test-rle-3.6"
  149.     SippRLEDelCom $rleHdl "test-rle-3.6"
  150.     SippRLEGetCom $rleHdl "test-rle-3.6"
  151. } 0 {}
  152.  
  153. test {rle-5.6} {
  154.     set retvar {}
  155.     SippRLEPutCom $rleHdl "test-rle-3.7"
  156.     SippRLEDelCom $rleHdl "test-rle-3.7"
  157.     list [SippRLEGetCom $rleHdl "test-rle-3.7" retvar] [set retvar]
  158. } 0 {0 {}}
  159.  
  160. test {rle-5.7} {
  161.     set retvar {}
  162.     SippRLEPutCom $rleHdl "test-rle-3.8" "value-rle-3.8"
  163.     SippRLEDelCom $rleHdl "test-rle-3.8"
  164.     list [SippRLEGetCom $rleHdl "test-rle-3.8" retvar] [set retvar]
  165. } 0 {0 {}}
  166.  
  167. #
  168. # Test SippRLERender command.
  169. #
  170.  
  171. test {rle-6.1} {
  172.     SippRLERender
  173. } 1 {wrong # args: SippRLERender [-flag] rlehandle xsize ysize [mode] [oversample]}
  174.  
  175. test {rle-6.3} {
  176.     SippRLERender $rleHdl 256 256 phong 1 10
  177. } 1 {wrong # args: SippRLERender [-flag] rlehandle xsize ysize [mode] [oversample]}
  178.  
  179. test {rle-6.4} {
  180.     SippRLERender $rleHdl 1.9 256 phong
  181. } 1 {expected unsigned integer but got "1.9"}
  182.  
  183. test {rle-6.5} {
  184.     SippRLERender $rleHdl 256 256 foo
  185. } 1 {invalid rendering mode, expect one of `PHONG', `GOURAUD', `FLAT', or `LINE', got: foo}
  186.  
  187. test {rle-6.5} {
  188.     SippRLERender -FOO $rleHdl 256 256 PHONG
  189. } 1 {expected one of "-BOTH", "-OLD", or "-EVEN", got "-FOO"}
  190.  
  191. test {rle-6.6} {
  192.     SippRLERender -BOTH $rleHdl 256 256 PHONG 1 100
  193. } 1 {wrong # args: SippRLERender [-flag] rlehandle xsize ysize [mode] [oversample]}
  194.  
  195. test {rle-6.7} {
  196.     SippRLERender -EVEN $rleHdl 256 256 LINE 1
  197. } 1 {Can't specify "-ODD" or "-EVEN" with a mode of "LINE"}
  198.  
  199. SippRLEClose $rleHdl
  200. unlink noimage.rle
  201.  
  202. #
  203. # Do some real rendering.  These must be run in seperate processes, since
  204. # the state of SIPP cann't be completly reset.
  205. #
  206.  
  207. test {rle-7.1} {
  208.     catch {unlink ellipsoid1.rle}
  209.     set cmd {source testprocs.tcl
  210.              Ellipsoid
  211.              set rle [SippRLEOpen "|cat > ellipsoid1.rle" "w"]
  212.              SippRLEPutCom $rle "test" "rle-7.1 PHONG"
  213.              SippRLERender $rle 256 256 PHONG 1
  214.              SippRLEClose $rle}
  215.     exec ../tsipp -c $cmd
  216.     CheckFile ellipsoid1.rle 30954
  217.     exec rlehdr ellipsoid1.rle | grep "test="
  218. } 0 {test=rle-7.1 PHONG}
  219.  
  220. test {rle-7.2} {
  221.     catch {unlink ellipsoid2.rle}
  222.     set cmd {source testprocs.tcl
  223.              Ellipsoid
  224.              set rle [SippRLEOpen ellipsoid2.rle "w"]
  225.              SippRLEPutCom $rle "test" "rle-7.2 GOURAUD"
  226.              SippRLERender $rle 256 256 GOURAUD 1
  227.              SippRLEClose $rle}
  228.     exec ../tsipp -c $cmd
  229.     CheckFile ellipsoid2.rle 31174
  230.     exec rlehdr ellipsoid2.rle | grep "test="
  231. } 0 {test=rle-7.2 GOURAUD}
  232.  
  233. test {rle-7.3} {
  234.     catch {unlink ellipsoid3.rle}
  235.     set cmd {source testprocs.tcl
  236.              Ellipsoid
  237.              set rle [SippRLEOpen ellipsoid3.rle "w"]
  238.              SippRLEPutCom $rle "test" "rle-7.3 FLAT"
  239.              SippRLERender $rle 256 256 FLAT 1
  240.              SippRLEClose $rle}
  241.     exec ../tsipp -c $cmd
  242.     CheckFile ellipsoid3.rle 14786
  243.     exec rlehdr ellipsoid3.rle | grep "test="
  244. } 0 {test=rle-7.3 FLAT}
  245.  
  246. test {rle-7.4} {
  247.     catch {unlink ellipsoid4.rle}
  248.     set cmd {source testprocs.tcl
  249.              Ellipsoid
  250.              set rle [SippRLEOpen ellipsoid4.rle "w"]
  251.              SippRLEPutCom $rle "test" "rle-7.4 LINE #1"
  252.              SippRLERender $rle 256 256 LINE
  253.              SippRLEPutCom $rle "test" "rle-7.4 LINE #2"
  254.              SippRLERender $rle 256 256 LINE
  255.              SippRLEClose $rle
  256.  
  257.              set rle [SippRLEOpen ellipsoid4.rle "a"]
  258.              SippRLEPutCom $rle "test" "rle-7.4 PHONG"
  259.              SippRLERender $rle 256 256 PHONG 1
  260.              SippRLEClose $rle}
  261.     exec ../tsipp -c $cmd
  262.     CheckFile ellipsoid4.rle 77994
  263.     exec rlehdr ellipsoid4.rle | grep  "test="
  264. } 0 {test=rle-7.4 LINE #1
  265. test=rle-7.4 LINE #2
  266. test=rle-7.4 PHONG}
  267.  
  268. test {rle-7.5} {
  269.     catch {unlink ellipsoid5.rle}
  270.     set cmd {source testprocs.tcl
  271.              Ellipsoid
  272.              set rle [SippRLEOpen ellipsoid5.rle "w"]
  273.              SippRLEPutCom $rle "test" "rle-7.5 -ODD FLAT"
  274.              SippRLERender -ODD $rle 256 256 FLAT 1
  275.              SippRLEClose $rle}
  276.     exec ../tsipp -c $cmd
  277.     CheckFile ellipsoid5.rle 7460
  278.     exec rlehdr ellipsoid5.rle | grep "test="
  279. } 0 {test=rle-7.5 -ODD FLAT}
  280.  
  281.